#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygame
from pygame.locals import *

class clase:		# Menu ingame
	def __init__(self, main):
		self.select = False
		self.fuente = main["graficos"]["fuente"]["20"]
		self.opcion = 0
		
		self.fondo = pygame.image.load('recursos/img/ui/menu.png').convert()
		self.fondo_rec = self.fondo.get_rect(center=main["general"]["rect"].center)
		
		self.botonvolver1 = main["graficos"]["boton"]["normal"].copy() # Boton de volver al juego
		self.botonvolver2 = main["graficos"]["boton"]["seleccionado"].copy()
		self.botonvolver3 = main["graficos"]["boton"]["presionado"].copy()
		self.botonvolver = self.botonvolver1
		self.botonvolver_rec = self.botonvolver.get_rect(center=(self.fondo_rec.centerx,self.fondo_rec.bottom-200))
		tamano = self.fuente.size("Volver")
		pos = (self.botonvolver_rec.width/2-tamano[0]/2,self.botonvolver_rec.height/2-tamano[1]/2)
		self.botonvolver1.blit(self.fuente.render("Volver", True, (255,255,255)),pos)
		self.botonvolver2.blit(self.fuente.render("Volver", True, (255,255,255)),pos)
		self.botonvolver3.blit(self.fuente.render("Volver", True, (255,255,255)),pos)
		
		self.botonconfig1 = main["graficos"]["boton"]["normal"].copy()	# Configuracion
		self.botonconfig2 = main["graficos"]["boton"]["seleccionado"].copy()
		self.botonconfig3 = main["graficos"]["boton"]["presionado"].copy()
		self.botonconfig = self.botonconfig1
		self.botonconfig_rec = self.botonconfig.get_rect(center=(self.fondo_rec.centerx,self.fondo_rec.bottom-125))
		tamano = self.fuente.size("Configuracion")
		pos = (self.botonconfig_rec.width/2-tamano[0]/2,self.botonconfig_rec.height/2-tamano[1]/2)
		self.botonconfig1.blit(self.fuente.render("Configuracion", True, (255,255,255)),pos)
		self.botonconfig2.blit(self.fuente.render("Configuracion", True, (255,255,255)),pos)
		self.botonconfig3.blit(self.fuente.render("Configuracion", True, (255,255,255)),pos)
		
		self.botonsalir1 = main["graficos"]["boton"]["normal"].copy()	# Volver al menu principal
		self.botonsalir2 = main["graficos"]["boton"]["seleccionado"].copy()
		self.botonsalir3 = main["graficos"]["boton"]["presionado"].copy()
		self.botonsalir = self.botonsalir1
		self.botonsalir_rec = self.botonsalir.get_rect(center=(self.fondo_rec.centerx,self.fondo_rec.bottom-50))
		tamano = self.fuente.size("Salir")
		pos = (self.botonsalir_rec.width/2-tamano[0]/2,self.botonsalir_rec.height/2-tamano[1]/2)
		self.botonsalir1.blit(self.fuente.render("Salir", True, (255,255,255)),pos)
		self.botonsalir2.blit(self.fuente.render("Salir", True, (255,255,255)),pos)
		self.botonsalir3.blit(self.fuente.render("Salir", True, (255,255,255)),pos)
		
	def seleccionar(self,main):
		pass
	
	def click(self,main):	# Controla si se  hizo click en un boton
		if self.select:
			if main["general"]["evento"].type == pygame.MOUSEBUTTONDOWN:
				if main["general"]["evento"].button == 1:
					if self.botonvolver_rec.collidepoint(main["general"]["evento"].pos):
						main["ventana"]["borrar"].append("menu")
						main["ventana"]["seleccionar"] = main["ventana"]["undo"]["deseleccionar"]
						main["ventana"]["undo"]["deseleccionar"] = main["ventana"]["undo2"]["deseleccionar"]
					if self.botonconfig_rec.collidepoint(main["general"]["evento"].pos):
						main["ventana"]["deseleccionar"].append("menu")
						main["ventana"]["crear"].append("opciones")
						main["ventana"]["seleccionar"].append("opciones")
					if self.botonsalir_rec.collidepoint(main["general"]["evento"].pos):
						main["mapa"]["enable"] = False
						main["ventana"]["borrar"].append("todo")
						main["ventana"]["crear"].append("login")
						main["ventana"]["seleccionar"].append("login")
	
	def tecla(self,main):	# ...si se apreto una tecla
		if self.select:
			if main["general"]["evento"].type == pygame.KEYDOWN:
				if main["general"]["evento"].key == pygame.K_RETURN:
					main["mapa"]["enable"] = False
					main["ventana"]["borrar"].append("todo")
					main["ventana"]["crear"].append("login")
					main["ventana"]["seleccionar"].append("login")
				if main["general"]["evento"].key == pygame.K_UP:
					if self.opcion == 0:
						self.opcion = 2
					else:
						self.opcion -= 1
				if main["general"]["evento"].key == pygame.K_DOWN:
					if self.opcion == 2:
						self.opcion = 0
					else:
						self.opcion -= 0
	
	def proceso(self,main):
		self.botonvolver = self.botonvolver1	# Define que imagen usa cada boton
		self.botonconfig = self.botonconfig1
		self.botonsalir = self.botonsalir1
		if self.opcion == 0:
			self.botonvolver = self.botonvolver2
		elif self.opcion == 1:
			self.botonconfig = self.botonconfig2
		elif self.opcion == 2:
			self.botonsalir = self.botonsalir2
		pos = main["ventana"]["pulsar"]["click"]["posicion"]
		if self.botonvolver_rec.collidepoint(pos):
			self.botonvolver = self.botonvolver2
			self.opcion = 0
		elif self.botonconfig_rec.collidepoint(pos):
			self.botonconfig = self.botonconfig2
			self.opcion = 1
		elif self.botonsalir_rec.collidepoint(pos):
			self.botonsalir = self.botonsalir2
			self.opcion = 2
			
	def graficar(self,main):
		main["general"]["pantalla"].blit(self.fondo,self.fondo_rec.topleft)	# Imprime todo
		main["general"]["pantalla"].blit(self.botonvolver,self.botonvolver_rec.topleft)
		main["general"]["pantalla"].blit(self.botonconfig,self.botonconfig_rec.topleft)
		main["general"]["pantalla"].blit(self.botonsalir,self.botonsalir_rec.topleft)
